采用算法导论上的实现方式,用java实现。快排算法核心的部分便是partition过程,这里的partition采取最后一个元素作为pivot,i和j两个指针都从头向后扫描,如下图所示,数组被分为4个部分。算法执行的过程:代码实现:import java.util.Arrays;public cla...
分类:
其他好文 时间:
2014-08-07 18:05:30
阅读次数:
196
1:在输入时,尽量不要一个字符一个字符输入,应换成字符串。由于enter键算一个字符。(3中可证明)2.scanf仅仅输入字符串时,空格表示结束!3.#include char a[100010];int main(int argc, char *argv[]){ longint M,T,i,j; ...
分类:
其他好文 时间:
2014-08-06 11:36:01
阅读次数:
218
1、开始正常监听以后,就要开始接受数据了,整体流程图如下:2、上一节看到我们在程序初始化的时候,初始化了很多个SocketConnection,用于管理客户端的链接,那应用层如何来操作,又什么时候来接受数据?于是我们便有了SocketSession,用于给应用层来管理整个会话过程,代码如下:publ...
分类:
其他好文 时间:
2014-07-30 09:52:03
阅读次数:
381
递归特点:简而言之,递归就是应用程序调用自身。所以,存在预期收敛,才能使用递归(因为不能无限期递归调用下去)。优点:程序看着比较简单,比较容易实现。缺点:递归要占用额外的栈空间,如果递归的深度比较大,那么占用的栈比较多,而且调用函数的时间也比较多,时空性都不好。所以选择递归要考虑好处和缺点之间的权衡...
分类:
其他好文 时间:
2014-07-30 00:18:22
阅读次数:
362
一,首先引入“mmsystem”单元。二,启动定时器: var MMTimerID: Integer; // 定时器ID MMTimerID := timeSetEvent(1000, 0, @TimerProc, 0, TIME_PERIODIC);三,定时器过程代码:procedure Tim....
分类:
其他好文 时间:
2014-07-29 21:33:32
阅读次数:
283
GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于生成的结果串会比较大。”1. 一个GUID为一个128位的整数(16...
分类:
其他好文 时间:
2014-07-29 20:55:02
阅读次数:
230
方法1:a=a+b;b=a-b;a=a-b;方法2:a^=b;b^=a;a^=b;方法3:a=a*b;b=a/b;a=a/b;
分类:
其他好文 时间:
2014-07-29 12:26:56
阅读次数:
170
1、返回局部变量地址将引起内存错误
2、临时空间过大:操作系统在加载某个应用程序时,都将为其分配一定大小的栈空间,若申请过大的局部变量,可能会引起栈溢出问题。
3、src 和 dst 内存覆盖:在进行字节内存复制时,常会出现这一问题。因为部分系统库函数并没有提供内存覆盖的检测功能,从而导致错误。
如下即是源内存区和目的内存区覆盖的示例:
#include
#inc...
分类:
其他好文 时间:
2014-07-27 11:26:02
阅读次数:
185
gets函数和scanf函数都可以作为字符串的输入函数,相同点:都是将从键盘输入的字符串存入数组中,输入完成后要以回车来结束输入。不同点:利用sanf时,在输入过程中碰到空格时系统认为输入结束,并将空格之前的字符作为有效字符存入数组中,并在尾部追加\0作为结束标志。 利用gets时,空格...
分类:
其他好文 时间:
2014-07-26 00:23:06
阅读次数:
226
文中通过最简单的一个例子来demo下这jvm对象分配和回收的整个过程,代码很短,很简单,希望剖析的细一点,包括每一步操作后对象的分配和回收对内存堆产生的影响。设定上包括对堆中年轻代(年轻代中eden区和survivor区)、年老代大小的设定,以及设置阈值控制年轻代到年老代的晋升。
分类:
其他好文 时间:
2014-07-25 18:54:02
阅读次数:
352